local t = Def.ActorFrame {};

-- P2 color
	if isDayTime() == 'true' then
		t[#t+1] = Def.ActorFrame {
		LoadActor("_circlecolor") .. {
			InitCommand=cmd(zoom,0.5;);
			OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,1;);
			CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); 
			PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;decelerate,0.3;diffusealpha,1;);
			ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set");
			SetCommand=function(self)
					stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2)
					local song = GAMESTATE:GetCurrentSong();
					if song then 
						if stepsP2 ~= nil then
							local st = stepsP2:GetStepsType();
							local diff = stepsP2:GetDifficulty();
							local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil;
							local cd = GetCustomDifficulty(st, diff, courseType);
							self:finishtweening():linear(0.2):diffuse(ColorMidTone(CustomDifficultyToColor(cd)));
						else
						end
					else
					end
				  end
		};
		};
	else
		t[#t+1] = Def.ActorFrame {
			LoadActor("_nightcolor") .. {
			InitCommand=cmd(zoom,0.5;);
			OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,1;);
			CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";); 
			PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;decelerate,0.3;diffusealpha,1;);
			ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set");
			SetCommand=function(self)
					stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2)
					local song = GAMESTATE:GetCurrentSong();
					if song then 
						if stepsP2 ~= nil then
							local st = stepsP2:GetStepsType();
							local diff = stepsP2:GetDifficulty();
							local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil;
							local cd = GetCustomDifficulty(st, diff, courseType);
							self:finishtweening():linear(0.2):diffuse(ColorMidTone(CustomDifficultyToColor(cd)));
						else
						end
					else
					end
				  end
		};
		};
	end;
	
	t[#t+1] = Def.ActorFrame {
	LoadFont("_troika 40px") .. { 
			  InitCommand=cmd(zoom,1.25;addy,-15);
			  OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,1;);
			  OffCommand=cmd(decelerate,0.3;diffusealpha,0;zoom,0;);
			  CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";queuecommand,"Transition";); 
			  PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;smooth,0.3;diffusealpha,1;);
			  ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set");
			  TransitionCommand=cmd(finishtweening;diffusealpha,0;decelerate,0.2;diffusealpha,1;);
			  SetCommand=function(self)
				stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2)
				local song = GAMESTATE:GetCurrentSong();
				if song then 
					if stepsP2 ~= nil then
						local st = stepsP2:GetStepsType();
						local diff = stepsP2:GetDifficulty();
						local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil;
						local cd = GetCustomDifficulty(st, diff, courseType);
						self:settext(stepsP2:GetMeter())
						if stepsP2:GetMeter() > 18 then
								self:diffuse(color("#FC7C7C"));
								self:strokecolor(color("#B00C0C"));
							elseif stepsP2:GetMeter() > 15 then
								self:diffuse(color("#FCB988"));
								self:strokecolor(color("#B0500C"));
							else
								self:diffuse(color("#FFFFFF"));
								self:strokecolor(ColorDarkTone(CustomDifficultyToColor(cd)));
						end
					else
						self:settext("")
					end
				else
					self:settext("")
				end
			  end
	};
	
		LoadFont("_troika 24px") .. { 
			  InitCommand=cmd(zoom,0.75;addy,20;strokecolor,color("#000000");maxwidth,130;);
			  OnCommand=cmd(diffusealpha,0;smooth,0.2;diffusealpha,1;);
			  OffCommand=cmd(decelerate,0.3;diffusealpha,0;zoom,0;);
			  CurrentStepsP2ChangedMessageCommand=cmd(queuecommand,"Set";queuecommand,"Transition";); 
			  PlayerJoinedMessageCommand=cmd(queuecommand,"Set";diffusealpha,0;smooth,0.3;diffusealpha,1;);
			  ChangedLanguageDisplayMessageCommand=cmd(queuecommand,"Set");
			  TransitionCommand=cmd(finishtweening;diffusealpha,0;decelerate,0.2;diffusealpha,1;);
			  SetCommand=function(self)
				stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2)
				local song = GAMESTATE:GetCurrentSong();
				if song then 
					if stepsP2 ~= nil then
						local st = stepsP2:GetStepsType();
						local diff = stepsP2:GetDifficulty();
						local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil;
						local cd = GetCustomDifficulty(st, diff, courseType);
							if stepsP2:IsAnEdit() then
								self:settext(stepsP2:GetChartName())
							else
								self:settext(THEME:GetString("CustomDifficulty",ToEnumShortString(diff)));
							end;						
						self:diffuse(ColorLightTone(CustomDifficultyToColor(cd)));
					else
						self:settext("")
					end
				else
					self:settext("")
				end
			  end
	};
	};
	
	t[#t+1] = LoadActor("_lifts") .. {
		InitCommand=cmd(horizalign,center;zoom,0.5;addy,-46);
		OnCommand=cmd(diffusealpha,0;queuecommand,"Set");
		CurrentStepsP2ChangedMessageCommand=cmd(finishtweening;queuecommand,"Set";);
		SetCommand=function(self)
			stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2)
			local song = GAMESTATE:GetCurrentSong();
				if song then 
					if stepsP2 ~= nil then
						local Getp2Radar = GAMESTATE:GetCurrentSteps(PLAYER_2):GetRadarValues(PLAYER_2);
						local P2Hands = Getp2Radar:GetValue('RadarCategory_Lifts');
						if P2Hands >= 1 then
							self:smooth(0.3):diffusealpha(1)
						else
							self:smooth(0.3):diffusealpha(0)
						end;
					else
						self:visible(false)
					end
				else
					self:visible(false)
				end
			 end
	};	
	
	t[#t+1] = LoadActor("_hands") .. {
		InitCommand=cmd(horizalign,center;zoom,0.5;addy,46);
		OnCommand=cmd(diffusealpha,0;queuecommand,"Set");
		CurrentStepsP2ChangedMessageCommand=cmd(finishtweening;queuecommand,"Set";);
		SetCommand=function(self)
			stepsP2 = GAMESTATE:GetCurrentSteps(PLAYER_2)
			local song = GAMESTATE:GetCurrentSong();
				if song then 
					if stepsP2 ~= nil then
						local Getp2Radar = GAMESTATE:GetCurrentSteps(PLAYER_2):GetRadarValues(PLAYER_2);
						local P2Hands = Getp2Radar:GetValue('RadarCategory_Hands');
						if P2Hands >= 1 then
							self:smooth(0.3):diffusealpha(1)
						else
							self:smooth(0.3):diffusealpha(0)
						end;
					else
						self:visible(false)
					end
				else
					self:visible(false)
				end
			 end
	};
return t	